package br.fic.poo.agenda.persistencia;

import br.fic.poo.agenda.classes.*;
import java.util.ArrayList;
import javax.swing.JOptionPane;

public class TesteContatoDao 
{
    
    public static void main(String a[])
    {
        ContatoDAO daoContato = new ContatoDAO();

        Contato cont;
        
        try {
            
        // incluindo 5 contatos
        
        cont = new Contato();
        cont.setNome("Newton");
        cont.setTipo(ETipoContato.AMIGO);
        daoContato.incluir(cont);
        cont = new Contato();
        cont.setNome("Luis");
        cont.setTipo(ETipoContato.FACULDADE);
        daoContato.incluir(cont);
        cont = new Contato();
        cont.setNome("Alex");
        cont.setTipo(ETipoContato.FAMILIA);
        daoContato.incluir(cont);
        cont = new Contato();
        cont.setNome("Marcia");
        daoContato.incluir(cont);
        cont = new Contato();
        cont.setNome("Natalia");
        daoContato.incluir(cont);
        
        
        // listando os contatos
        System.out.print("lista -> ");
        for(Contato c : daoContato.consultar())
        {
            System.out.print(c.getId()+"-"+c.getNome()+"-"+
                    c.getTipo()+" , ");
        }
        System.out.println();
        
        // consultando os contatos pelo ID
        cont = daoContato.consultar(1);
        System.out.println(cont.getId()+"="+cont.getNome());
        cont = daoContato.consultar(2);
        System.out.println(cont.getId()+"="+cont.getNome());
        cont = daoContato.consultar(5);
        System.out.println(cont.getId()+"="+cont.getNome());
        cont = daoContato.consultar(3);
        System.out.println(cont.getId()+"="+cont.getNome());
        
        // alterando contato
        cont.setNome("Celinda");
        daoContato.alterar(cont);

        cont = daoContato.consultar(3);
        System.out.println(cont.getId()+"="+cont.getNome());
        
        // excluindo um contato pelo ID
        daoContato.excluir(2);
        System.out.print("lista -> ");
        for(Contato c : daoContato.consultar())
        {
            System.out.print(c.getId()+"-"+c.getNome()+" , ");
        }
        System.out.println();
        
        //cont = daoContato.consultar(2);  //ERRO!
        cont = daoContato.consultar(3);
        System.out.println(cont.getId()+"="+cont.getNome());
        
        // consultando contatos pelo nome/parte
        ArrayList<Contato> l = daoContato.consultar("a");
        for(Contato c : l)
        {
            System.out.print(c.getId()+"-"+c.getNome()+" , ");
        }
        System.out.println();
        
        
        }
        catch (Exception e)
        {
            JOptionPane.showMessageDialog(null, "Erro: "+e.getMessage());
        }
        
    }
    
}
